package model.bo;

import java.math.BigDecimal;
import model.entidade.Empregado;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;

/**
 * @author Zeno
 */
public class EmprestimoBOTestCpf {
    
    public EmprestimoBOTestCpf() {
    }

    @BeforeClass
    public static void setUpClass() throws Exception {
        
        try {
            Empregado empregado=new Empregado(Long.valueOf("1"), "Um nome", Boolean.TRUE, BigDecimal.valueOf(4500), "34134800714", "01/02/91", "01/02/91", "");
            EmpregadoBO.getInstance().incluir(empregado);
        } catch (Exception ex) {
            fail("Falha na inclusão de um empregado");
        }
        
    }

    @AfterClass
    public static void tearDownClass() throws Exception {
    }
    
    @Before
    public void setUp() {
    }
    
    @After
    public void tearDown() {
    }
    
    /**
     * Testes do método executado para verificar se o CPF entrado 
     * corresponde ao CPF de algum empregado previamente cadastrado.
     * 
     * @author Zeno
     * 
     */
    
    @Test
    public void testCpfIgual() throws EmpregadoException, Exception {    	
        String cpf = "34134800714";
        cpfIgual(cpf);
    }
    
    
    @Test(expected = EmprestimoException.class) 
    public void testCpfDiferente() throws EmpregadoException, Exception {
        String cpf = "24134800714";
        cpfDiferente(cpf);
    }
    
    private void cpfIgual(String cpf) throws EmpregadoException, Exception {
        boolean valido = EmprestimoBO.getInstance().verificaCpfEmpregado(cpf) ;
        assertEquals(true, valido);
    }
    
    private void cpfDiferente(String cpf) throws EmpregadoException, Exception {
        boolean invalido = EmprestimoBO.getInstance().verificaCpfEmpregado(cpf);
       
    }
}
